package org.ytor.core.sysapi.monitor.resp;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
 * created by yangtong on 2025/7/6 21:49:38
 * <br/>
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Schema(description = "磁盘分区信息")
public class DiskPartitionResp {

    @Schema(description = "分区名称", example = "C:\\")
    private String name;

    @Schema(description = "挂载点", example = "C:\\")
    private String mountPoint;

    @Schema(description = "总空间（字节）", example = "1099511627776")
    private Long totalSpace;

    @Schema(description = "可用空间（字节）", example = "549755813888")
    private Long usableSpace;

    @Schema(description = "已使用空间（字节）", example = "549755813888")
    private Long usedSpace;

    @Schema(description = "使用率（%）", example = "50.0", minimum = "0", maximum = "100")
    private Double usageRate;

    @Schema(description = "总空间（GB）", example = "1024.0")
    private Double totalSpaceGB;

    @Schema(description = "可用空间（GB）", example = "512.0")
    private Double usableSpaceGB;

    @Schema(description = "已使用空间（GB）", example = "512.0")
    private Double usedSpaceGB;
}
